/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package controller.database;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Shengyi_Chen
 */
@Entity
@Table(name = "CHECKPOINT")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Checkpoint.findAll", query = "SELECT c FROM Checkpoint c"),
    @NamedQuery(name = "Checkpoint.findById", query = "SELECT c FROM Checkpoint c WHERE c.id = :id"),
    @NamedQuery(name = "Checkpoint.findByStartdate", query = "SELECT c FROM Checkpoint c WHERE c.startdate = :startdate"),
    @NamedQuery(name = "Checkpoint.findByEnddate", query = "SELECT c FROM Checkpoint c WHERE c.enddate = :enddate"),
    @NamedQuery(name = "Checkpoint.findByCoursename", query = "SELECT c FROM Checkpoint c WHERE c.coursename = :coursename"),
    @NamedQuery(name = "Checkpoint.findByClassStatus", query = "SELECT c FROM Checkpoint c WHERE c.classStatus = :classStatus"),
    @NamedQuery(name = "Checkpoint.findByOpenStatus", query = "SELECT c FROM Checkpoint c WHERE c.openStatus = :openStatus"),
    @NamedQuery(name = "Checkpoint.findByRegion", query = "SELECT c FROM Checkpoint c WHERE c.region = :region"),
    @NamedQuery(name = "Checkpoint.findByCountry", query = "SELECT c FROM Checkpoint c WHERE c.country = :country"),
    @NamedQuery(name = "Checkpoint.findByBdm", query = "SELECT c FROM Checkpoint c WHERE c.bdm = :bdm"),
    @NamedQuery(name = "Checkpoint.findByVaOwner", query = "SELECT c FROM Checkpoint c WHERE c.vaOwner = :vaOwner"),
    @NamedQuery(name = "Checkpoint.findByDays", query = "SELECT c FROM Checkpoint c WHERE c.days = :days"),
    @NamedQuery(name = "Checkpoint.findByInstructor", query = "SELECT c FROM Checkpoint c WHERE c.instructor = :instructor"),
    @NamedQuery(name = "Checkpoint.findByEventType", query = "SELECT c FROM Checkpoint c WHERE c.eventType = :eventType"),
    @NamedQuery(name = "Checkpoint.findByStartTime", query = "SELECT c FROM Checkpoint c WHERE c.startTime = :startTime"),
    @NamedQuery(name = "Checkpoint.findByTimeZone", query = "SELECT c FROM Checkpoint c WHERE c.timeZone = :timeZone"),
    @NamedQuery(name = "Checkpoint.findByPod", query = "SELECT c FROM Checkpoint c WHERE c.pod = :pod"),
    @NamedQuery(name = "Checkpoint.findByLabView", query = "SELECT c FROM Checkpoint c WHERE c.labView = :labView"),
    @NamedQuery(name = "Checkpoint.findByPptsLoaded", query = "SELECT c FROM Checkpoint c WHERE c.pptsLoaded = :pptsLoaded"),
    @NamedQuery(name = "Checkpoint.findByMattavainstassigned", query = "SELECT c FROM Checkpoint c WHERE c.mattavainstassigned = :mattavainstassigned"),
    @NamedQuery(name = "Checkpoint.findByQachk", query = "SELECT c FROM Checkpoint c WHERE c.qachk = :qachk"),
    @NamedQuery(name = "Checkpoint.findByBdmchk", query = "SELECT c FROM Checkpoint c WHERE c.bdmchk = :bdmchk"),
    @NamedQuery(name = "Checkpoint.findByStudent", query = "SELECT c FROM Checkpoint c WHERE c.student = :student"),
    @NamedQuery(name = "Checkpoint.findByStudentDetail", query = "SELECT c FROM Checkpoint c WHERE c.studentDetail = :studentDetail"),
    @NamedQuery(name = "Checkpoint.findByEbookSent", query = "SELECT c FROM Checkpoint c WHERE c.ebookSent = :ebookSent"),
    @NamedQuery(name = "Checkpoint.findByEmailSent", query = "SELECT c FROM Checkpoint c WHERE c.emailSent = :emailSent"),
    @NamedQuery(name = "Checkpoint.findByScriptRun", query = "SELECT c FROM Checkpoint c WHERE c.scriptRun = :scriptRun"),
    @NamedQuery(name = "Checkpoint.findByScriptOwn", query = "SELECT c FROM Checkpoint c WHERE c.scriptOwn = :scriptOwn"),
    @NamedQuery(name = "Checkpoint.findByPortalClassComp", query = "SELECT c FROM Checkpoint c WHERE c.portalClassComp = :portalClassComp"),
    @NamedQuery(name = "Checkpoint.findBySecondPod", query = "SELECT c FROM Checkpoint c WHERE c.secondPod = :secondPod"),
    @NamedQuery(name = "Checkpoint.findByNotes", query = "SELECT c FROM Checkpoint c WHERE c.notes = :notes")})
public class Checkpoint implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "ID")
    private Integer id;
    @Column(name = "STARTDATE")
    @Temporal(TemporalType.DATE)
    private Date startdate;
    @Column(name = "ENDDATE")
    @Temporal(TemporalType.DATE)
    private Date enddate;
    @Size(max = 512)
    @Column(name = "COURSENAME")
    private String coursename;
    @Size(max = 1)
    @Column(name = "CLASS_STATUS")
    private String classStatus;
    @Size(max = 1)
    @Column(name = "OPEN_STATUS")
    private String openStatus;
    @Size(max = 5)
    @Column(name = "REGION")
    private String region;
    @Size(max = 32)
    @Column(name = "COUNTRY")
    private String country;
    @Size(max = 64)
    @Column(name = "BDM")
    private String bdm;
    @Size(max = 64)
    @Column(name = "VA_OWNER")
    private String vaOwner;
    @Column(name = "DAYS")
    private Integer days;
    @Size(max = 64)
    @Column(name = "INSTRUCTOR")
    private String instructor;
    @Size(max = 1)
    @Column(name = "EVENT_TYPE")
    private String eventType;
    @Column(name = "START_TIME")
    @Temporal(TemporalType.TIME)
    private Date startTime;
    @Column(name = "TIME_ZONE")
    private Integer timeZone;
    @Size(max = 5)
    @Column(name = "POD")
    private String pod;
    @Size(max = 1)
    @Column(name = "LAB_VIEW")
    private String labView;
    @Size(max = 1)
    @Column(name = "PPTS_LOADED")
    private String pptsLoaded;
    @Size(max = 1)
    @Column(name = "MATTAVAINSTASSIGNED")
    private String mattavainstassigned;
    @Size(max = 1)
    @Column(name = "QACHK")
    private String qachk;
    @Size(max = 1)
    @Column(name = "BDMCHK")
    private String bdmchk;
    @Column(name = "STUDENT")
    private Integer student;
    @Size(max = 1024)
    @Column(name = "STUDENT_DETAIL")
    private String studentDetail;
    @Size(max = 3)
    @Column(name = "EBOOK_SENT")
    private String ebookSent;
    @Size(max = 3)
    @Column(name = "EMAIL_SENT")
    private String emailSent;
    @Size(max = 3)
    @Column(name = "SCRIPT_RUN")
    private String scriptRun;
    @Size(max = 3)
    @Column(name = "SCRIPT_OWN")
    private String scriptOwn;
    @Size(max = 3)
    @Column(name = "PORTAL_CLASS_COMP")
    private String portalClassComp;
    @Size(max = 5)
    @Column(name = "SECOND_POD")
    private String secondPod;
    @Size(max = 512)
    @Column(name = "NOTES")
    private String notes;

    public Checkpoint() {
    }

    public Checkpoint(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Date getStartdate() {
        return startdate;
    }

    public void setStartdate(Date startdate) {
        this.startdate = startdate;
    }

    public Date getEnddate() {
        return enddate;
    }

    public void setEnddate(Date enddate) {
        this.enddate = enddate;
    }

    public String getCoursename() {
        return coursename;
    }

    public void setCoursename(String coursename) {
        this.coursename = coursename;
    }

    public String getClassStatus() {
        return classStatus;
    }

    public void setClassStatus(String classStatus) {
        this.classStatus = classStatus;
    }

    public String getOpenStatus() {
        return openStatus;
    }

    public void setOpenStatus(String openStatus) {
        this.openStatus = openStatus;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getBdm() {
        return bdm;
    }

    public void setBdm(String bdm) {
        this.bdm = bdm;
    }

    public String getVaOwner() {
        return vaOwner;
    }

    public void setVaOwner(String vaOwner) {
        this.vaOwner = vaOwner;
    }

    public Integer getDays() {
        return days;
    }

    public void setDays(Integer days) {
        this.days = days;
    }

    public String getInstructor() {
        return instructor;
    }

    public void setInstructor(String instructor) {
        this.instructor = instructor;
    }

    public String getEventType() {
        return eventType;
    }

    public void setEventType(String eventType) {
        this.eventType = eventType;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Integer getTimeZone() {
        return timeZone;
    }

    public void setTimeZone(Integer timeZone) {
        this.timeZone = timeZone;
    }

    public String getPod() {
        return pod;
    }

    public void setPod(String pod) {
        this.pod = pod;
    }

    public String getLabView() {
        return labView;
    }

    public void setLabView(String labView) {
        this.labView = labView;
    }

    public String getPptsLoaded() {
        return pptsLoaded;
    }

    public void setPptsLoaded(String pptsLoaded) {
        this.pptsLoaded = pptsLoaded;
    }

    public String getMattavainstassigned() {
        return mattavainstassigned;
    }

    public void setMattavainstassigned(String mattavainstassigned) {
        this.mattavainstassigned = mattavainstassigned;
    }

    public String getQachk() {
        return qachk;
    }

    public void setQachk(String qachk) {
        this.qachk = qachk;
    }

    public String getBdmchk() {
        return bdmchk;
    }

    public void setBdmchk(String bdmchk) {
        this.bdmchk = bdmchk;
    }

    public Integer getStudent() {
        return student;
    }

    public void setStudent(Integer student) {
        this.student = student;
    }

    public String getStudentDetail() {
        return studentDetail;
    }

    public void setStudentDetail(String studentDetail) {
        this.studentDetail = studentDetail;
    }

    public String getEbookSent() {
        return ebookSent;
    }

    public void setEbookSent(String ebookSent) {
        this.ebookSent = ebookSent;
    }

    public String getEmailSent() {
        return emailSent;
    }

    public void setEmailSent(String emailSent) {
        this.emailSent = emailSent;
    }

    public String getScriptRun() {
        return scriptRun;
    }

    public void setScriptRun(String scriptRun) {
        this.scriptRun = scriptRun;
    }

    public String getScriptOwn() {
        return scriptOwn;
    }

    public void setScriptOwn(String scriptOwn) {
        this.scriptOwn = scriptOwn;
    }

    public String getPortalClassComp() {
        return portalClassComp;
    }

    public void setPortalClassComp(String portalClassComp) {
        this.portalClassComp = portalClassComp;
    }

    public String getSecondPod() {
        return secondPod;
    }

    public void setSecondPod(String secondPod) {
        this.secondPod = secondPod;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Checkpoint)) {
            return false;
        }
        Checkpoint other = (Checkpoint) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "controller.database.Checkpoint[ id=" + id + " ]";
    }
    
}
